const arr = [1, 2, 5, 4, 3]
arr.sort() // 1. sort 方法是一个变异方法（所谓变异方法，就是调用完该方法后，会影响原数据的方法）

console.log(arr)

const results = [
  { art_id: 1, is_top: 0 },
  { art_id: 2, is_top: 0 },
  { art_id: 3, is_top: 1 },
  { art_id: 4, is_top: 0 },
  { art_id: 5, is_top: 1 },
  { art_id: 6, is_top: 0 },
  { art_id: 7, is_top: 1 },
  { art_id: 8, is_top: 0 },
]

// sort 函数 是一个高阶函数，可以接收一个 函数 作为实参
//  在这个实参函数上有两个形参（a 和 b），分别是每次两两比较的数组元素项
//  这个实参函数的返回值 决定了 a 和 b 这两个数组元素最终的排序位置
//    如果返回值 > 0，把 a 放到 b 的后面去（把 b 放到 a 的前面去）
//    如果返回值 = 0，a 和 b 位置不动
//    如果返回值 < 0，把 a 放到 b 的前面去（把 b 方法 a 的后面去）
results.sort((a, b) => {
  if (a.is_top > b.is_top) return -1
  if (a.is_top === b.is_top) return 0
  // if (a.is_top < b.is_top) return 1
  return 1
})

console.log(results)
